閱讀提醒:本文會在官方高級賽車模板上實作檢查點。
Unreal Engine:5.03 高級賽車模板
OS:Windows10
在跑計時賽的時候,我們需要多個檢查點來確認玩家的位置以及目前的圈數。
今天就先來設定檢查點的部份吧!
首先建立一個 Actor BP,並命名為 CheckPoint。
在 Self 下方新增 Arrow
、Particle System
、Box Collision
。
將 Box Collision
做為 Trigger
,並調整 Scale
。
接著將 Collision Presets
改為 OverlapOnlyPawn
。
新增一個 Int 變數 CheckPointNum
,且勾選 Instance Editable
,即可從外部,也就是場景的 Detail
面板更改數值。
新增一個 Event Dispatchers
,命名為 CheckPointCleared,選擇 Input
旁的 +
,新增變數。
在 Trigger
上方點擊右鍵
,新增 On Component End Overlap
事件。
將 Other Actor
轉換成 WheeledVehiclePawn
型態,將回傳值傳遞給 Get Velocity
跟 Arrow
的旋轉值做內積 ( Dot Product),並做為 Branch
的條件。
如果為 True
,則呼叫 Call Check Point Cleared
,然後 Set Hidden in Game
。
接著我們回到場景中放置檢查點,將此藍圖放置在賽道上,放置數量按賽道長度調整。
建立一個 PlayerController
及 Widget
,分別命名為 MyPlayerController
、HUD
。
在 VehicleAdvGameMode
更改 PlayerController
為 MyPlayerController
。
接下來一樣找到 BeginPlay
事件,Create Widget
、Add to Viewport
,最後轉換 WheeledVehiclPawn
型態,這邊可以參考模板中的 VehiclePlayerController
。
小結:CheckPoint 的設定就先到這邊吧~各位加油,還有三天。